<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- windows.qdoc -->
  <title>Qt for Windows - Specific Issues | Qt 5.14</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="index.html">Qt 5.14</a></td><td >Qt for Windows - Specific Issues</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.14.2 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#installation-location">Installation location</a></li>
<li class="level1"><a href="#possible-gl-conflict">Possible GL conflict</a></li>
<li class="level1"><a href="#visual-studio">Visual Studio</a></li>
<li class="level1"><a href="#fullscreen-opengl-based-windows">Fullscreen OpenGL Based Windows</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Qt for Windows - Specific Issues</h1>
<span class="subtitle"></span>
<!-- $$$windows-issues.html-description -->
<div class="descr"> <a name="details"></a>
<p>This page contains information about <a href="windows.html">Qt for Windows</a>.</p>
<a name="installation-location"></a>
<h2 id="installation-location">Installation location</h2>
<p>Installing Qt into a directory with spaces, for example, <i>C:\Program Files</i>, may cause linker errors like the following:</p>
<pre class="cpp">

  c:\program<span class="operator">.</span>obj <span class="keyword">not</span> found

</pre>
<p>Install Qt into a sub-directory without spaces to avoid this problem.</p>
<a name="possible-gl-conflict"></a>
<h2 id="possible-gl-conflict">Possible GL conflict</h2>
<p>There is a known issue when running Microsoft NetMeeting, Lotus SameTime, and other applications that require screen grabbing while direct rendering is enabled. Other GL-applications may not work as expected, unless direct rendering is disabled.</p>
<a name="visual-studio"></a>
<h2 id="visual-studio">Visual Studio</h2>
<p>The Visual C++ Linker doesn't understand filenames with spaces (for example, <i>C:\Program files\Qt\</i>) so you will have to move it to another place, or explicitly set the path yourself.</p>
<pre class="cpp">

  QTDIR<span class="operator">=</span>C:\Progra<span class="operator">~</span><span class="number">1</span>\<span class="type"><a href="../qtcore/qt.html">Qt</a></span>

</pre>
<p>If you are experiencing strange problems with using special flags that modify the alignment of structure and union members (such as <code>/Zp2</code>) then you will need to recompile Qt with the flags set for the application as well.</p>
<a name="fullscreen-opengl-based-windows"></a>
<h2 id="fullscreen-opengl-based-windows">Fullscreen OpenGL Based Windows</h2>
<p>When a window is using an OpenGL based surface and is appearing in full screen mode, problems can occur with other top-level windows which are part of the application. Due to limitations of the Windows DWM, compositing is not handled correctly for OpenGL based windows when going into full screen mode. As a result, other top-level windows are not placed on top of the full screen window when they are made visible. For example, menus may not appear correctly, or dialogs fail to show up.</p>
<p>A window can use an OpenGL based surface either explicitly when <a href="../qtgui/qwindow.html#setSurfaceType">setSurfaceType()</a> is called, or when something that requires OpenGL is used inside the window, causing the whole window to be OpenGL based. For example, <a href="../qtwidgets/qopenglwidget.html">QOpenGLWidget</a> or <a href="../qtquick/qquickwidget.html">QQuickWidget</a> can trigger this. However, if the surface is contained in a <a href="../qtgui/qwindow.html">QWindow</a> which is hosted with <a href="../qtwidgets/qwidget.html#createWindowContainer">createWindowContainer()</a>, or the obsoleted QGLWidget is used and it does cover the entire full screen window, then this problem does not occur.</p>
<p>To solve this problem, a QWindowsWindowFunction can be used to enable a native Windows flag which will set <code>WS_BORDER</code> when showing in full screen mode. This can be utilized as follows:</p>
<pre class="cpp">

  <span class="type"><a href="../qtplatformheaders/qwindowswindowfunctions.html">QWindowsWindowFunctions</a></span><span class="operator">::</span>setHasBorderInFullScreen(tlwWindow<span class="operator">-</span><span class="operator">&gt;</span>windowHandle()<span class="operator">,</span> <span class="keyword">true</span>);

</pre>
<p>This will give the full screen window a 1-pixel border, thus enabling the other top level windows to appear on top.</p>
</div>
<!-- @@@windows-issues.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
